The recent improvements in public broadband or high-speed networks technology has brought about many changes in the infrastructure required to deliver services and applications. Among other things, these broadband networks have greatly increased the bandwidth available to network service customers and enabled a multitude of new networked-based applications and services. For example, varying levels of service or functionality may now be provisioned to subscribers based on the individual subscriber's needs.
Customers of these network service providers, including for example both residential and business customers, connect to these broadband networks with each customer having its own set of requirements from the network service. In these situations, provisioning the appropriate services and controlling access and quality of service to the applications and services are critical to the ability of the network service provider to add value and retain their subscribers.
Generally speaking, a service provider may be capable of providing a number of levels of service to its subscribers. For example, one service provider may possess the capability to provide varying levels of bandwidth to its subscribers, at incremental billing rates. Thus, a subscriber could obtain a relatively lower or basic level of bandwidth at a lower cost, or intermediate or higher levels at incrementally greater costs. Likewise, a particular application, such as for example, a word processing or a computer-aided drafting application may be offered by an application provider with varying degrees of service. In these situations, a subscriber could pay a lower fee for a basic version (or lower level of functionality) or higher fees for access to a premium version. In this manner, subscribers can be charged only for the services and applications actually utilized.
In order to provision these varying levels of applications or services, traditional communication devices, such as data switches and routers, had to be configured (i.e., identifying and entering the services and/or applications available to a subscriber) statically. Specifically, information relating to each service subscriber (e.g., which services or applications as well as the particular level of service accessible by the subscriber) was not only entered manually by a technician into the communication device, but was also stored individually. In other words, all of the policies for each subscriber had to be stored individually in the device. Thus, these techniques were extremely configuration-intensive and costly to support.
Each service or application is defined by a number of polices. These policies define each of the requirements necessary to provision the service or application, and include, for example, a quality of service, a rate ceiling, etc. In order to adequately provision a service or application to a subscriber base, each communication device requires knowledge of the policies of each subscriber. Thus, in order to provision services or applications to a subscriber base, it was necessary to store, locally on each device, a listing of each of the policies for each of the services or applications available to each subscriber of the subscriber base, even with subscribers accessing the same service or application. Therefore, multiple copies of the policies for a service or application were stored even if they were identical for each subscriber. Obviously, with large numbers of services, applications or subscribers, enormous amounts of memory would be required.
As such, it is apparent that these communication devices do not possess the capability to dynamically provision tailored services and applications to large subscriber bases. Accordingly, increasingly efficient devices and techniques for provisioning tailored services and applications are needed.